此解決方案使用 AWS CloudFormation 來自動化部署。它包括以下兩個模板 — 單帳戶部署選項和多帳戶部署選項。接下來我們簡單認識一下AWS CloudFormation,以及AWS MLOps Framework解決方案中部署單帳號的這個選項。
在過去沒有CloudFormation的時候,系統管理者區透過AWS 管理控制台(AWS console)或 CLI 手動設置所有內容。現在,若想要維護一套有幾個服務串成的系統,開發者可以創建文件模板(YAML 或 JSON皆可),以有組織和可預測的方式預置和更新資源,包含供應、配置和部署一切,並處理了資源之間的依賴關係,簡化了在 AWS 上管理基礎設施。
假設在專案上使用模版得很順利,未來新增類似專案的時候,則可以直接應用設定好的模板。
也因為CloudFormation的服務綜合部署服務,以及服務間的安全性設定等等,因此學習曲線會比較陡峭。須了解在更新、刪除的時候會對資源所造成的影響。
在CloudFormation的使用上,有3個注意要點:
關於更多CloudFormation,建議閱讀:
在這個解決方案下,透過部署按鈕,就可以使用預設好的模板部署單帳號或者多帳號的選項到你的帳號中。方案一為例:
在登入AWS帳號的狀態下,從頁面找到Launch鈕。
畫面會導引到新增stack的頁面,選預設好的模板。
輸入自定義Stack名稱,以及自己的聯絡信箱,發佈好之後會收到通知。
在設定頁面,不需更動裡面的設定
在Review階段,需勾選我同意CloudFormation會新增IAM資源。
在目錄看到CloudFormation部署當中。
當部署完成之後,點選輸出的頁籤,檢視已經部署好的資源。
部署到這邊已完成,若需要新增模型到這個解決方案之中,可以準備自己的模型,參考API operations文件,把模型和pipelin新增上去即可。
在MLOps的團隊中,只有DevOps會負責CloudFormation的開發跟維護,如果是Data Scientist的職責則是確保這些服務串接起來後,模型的開發以及部署與在開發端測試的結果相同即可。
在部署這個解決方案之後,大家可以透過API端點測試新增、檢視狀態等,和pipeline互動之後也會比較了解一個pipeline會負責哪些功能,如何重現工作狀態等等。
Reference
[1]. AWS CloudFormation Templates & Best Practices